import com.excilys.grails.*

class BootStrap {

     def init = { servletContext ->
        def myUser = AlbumUser.findByUsername ("grails")
        if (!myUser){
            // l'utilisateur n'existe pas
            // 0b9c2625dc21ef05f6ad4ddf47c5f203837aa32c = toto (SHA1)
            myUser = new AlbumUser ( username:'grails', passwd:'0b9c2625dc21ef05f6ad4ddf47c5f203837aa32c',
                userRealName:'Grails Rocks', email:'grails@excilys.com', enabled:true).save()

            // Ajout du rôle admin pour cet utilisateur
            def role = Role.findByAuthority ("ROLE_ADMIN")
            if (!role){
                role = new Role (authority:'ROLE_ADMIN', description:'Administrateur').save(flush:true)
            }
            // une autre méthode dynamique de Grails, elle permet d'ajouter un
            // objet dans une collection persistée. La collection s'appelle "authorities" et est typée 'Role' dans l'objet myUser
            myUser.addToAuthorities (role)
        }
     }
     def destroy = {
     }
}